#pragma once
#include "foDataObject.h"

namespace _FOGGE_
{
	namespace _GDB_ 
	{
		class DefaultDataObjectFactory:
			public foDataObjectFactoryBase
		{
		public:
			DefaultDataObjectFactory(void);
			~DefaultDataObjectFactory(void);

			/*! 
				\brief load a object from file
			*/
			virtual class foDataObject* LoadObject(LPCTSTR datafilename);
			

			/*! 
				\brief create a object but it is not initialized.
			*/
		
			virtual class foDataObject* CreateObject();
			
			virtual class foDataObject* CloneObject(foDataObject* ptrObj);
		};
	}
}